#ifndef HERO_POOL_H
#define HERO_POOL_H

#include <map>

class Hero;
class HeroPool
{
public:
	static HeroPool* instance();
	Hero* GetHero(int id);
	Hero* GetRanddomHero();

	typedef void (*HeroFunc)(int, Hero*);
	void ForEachHero(HeroFunc func);
private:
	HeroPool();
	void AddHero(int id, Hero* hero);
	void AddHero_Sheet(const char* filename);

	typedef std::map<int, Hero*>::iterator HMIter;
	std::map<int, Hero*> m_pool;
};




#endif